package com.xiaoq.shop.entity;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;

/**
 * Created by qudongxin520 on 2016/10/14.
 */
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class SPUReviewEntity {

    @ApiModelProperty(name = "reviewId", value = "reviewId")
    private String reviewId;

    @ApiModelProperty(name = "reviewerId", value = "评论者id")
    private String reviewerId; //评论者id

    @ApiModelProperty(name = "reviewerName", value = "评论者名称")
    private String reviewerName; //评论者名称

    @ApiModelProperty(name = "reviewerDisplayImgUrl", value = "评论者头像url")
    private String reviewerDisplayImgUrl; //评论者头像url

    @ApiModelProperty(name = "reviewerRank", value = "评论者等级头衔,例如显示钻石头像,皇冠头像等")
    private int reviewerRank;  //评论者等级头衔,例如显示钻石头像,皇冠头像等;// TODO: 需要定义枚举值

    @ApiModelProperty(name = "spuName", value = "商品SPU名称")
    private String spuName; //商品SPU名称

    @ApiModelProperty(name = "skuCode", value = "商品sku编码")
    private String skuCode; //商品sku编码

    @ApiModelProperty(name = "specifications", value = "主规格,从订单页面传递到评论页面,评论页面提交到提交评论接口")
    private String specifications; //主规格,从订单页面传递到评论页面,评论页面提交到提交评论接口

    @ApiModelProperty(name = "userCouponId", value = "购买日期,从订单页面传递到评论页面,评论页面提交到提交评论接口")
    private String purchasingDate; //购买日期,从订单页面传递到评论页面,评论页面提交到提交评论接口

    @ApiModelProperty(name = "score", value = "评星")
    private int score; //评星

    @ApiModelProperty(name = "commentText", value = "评论文本")
    private String commentText; //评论文本

    @ApiModelProperty(name = "productImgUrls", value = "晒单图片")
    private List<String> productImgUrls; //晒单图片

    @ApiModelProperty(name = "likes", value = "此条评论的点赞数")
    private int likes; //此条评论的点赞数

    @ApiModelProperty(name = "replies", value = "此条评论的回复数")
    private List<ReplyOfComment> replies;  //此条评论的回复数

    @ApiModelProperty(name = "createdAt", value = "createdAt")
    private Long  createdAt;

	public String getReviewId() {
		return reviewId;
	}

	public void setReviewId(String reviewId) {
		this.reviewId = reviewId;
	}

	public String getReviewerId() {
		return reviewerId;
	}

	public void setReviewerId(String reviewerId) {
		this.reviewerId = reviewerId;
	}

	public String getReviewerName() {
		return reviewerName;
	}

	public void setReviewerName(String reviewerName) {
		this.reviewerName = reviewerName;
	}

	public String getReviewerDisplayImgUrl() {
		return reviewerDisplayImgUrl;
	}

	public void setReviewerDisplayImgUrl(String reviewerDisplayImgUrl) {
		this.reviewerDisplayImgUrl = reviewerDisplayImgUrl;
	}

	public int getReviewerRank() {
		return reviewerRank;
	}

	public void setReviewerRank(int reviewerRank) {
		this.reviewerRank = reviewerRank;
	}

	public String getSpuName() {
		return spuName;
	}

	public void setSpuName(String spuName) {
		this.spuName = spuName;
	}

	public String getSkuCode() {
		return skuCode;
	}

	public void setSkuCode(String skuCode) {
		this.skuCode = skuCode;
	}

	public String getSpecifications() {
		return specifications;
	}

	public void setSpecifications(String specifications) {
		this.specifications = specifications;
	}

	public String getPurchasingDate() {
		return purchasingDate;
	}

	public void setPurchasingDate(String purchasingDate) {
		this.purchasingDate = purchasingDate;
	}

	public int getScore() {
		return score;
	}

	public void setScore(int score) {
		this.score = score;
	}

	public String getCommentText() {
		return commentText;
	}

	public void setCommentText(String commentText) {
		this.commentText = commentText;
	}

	public List<String> getProductImgUrls() {
		return productImgUrls;
	}

	public void setProductImgUrls(List<String> productImgUrls) {
		this.productImgUrls = productImgUrls;
	}

	public int getLikes() {
		return likes;
	}

	public void setLikes(int likes) {
		this.likes = likes;
	}

	public List<ReplyOfComment> getReplies() {
		return replies;
	}

	public void setReplies(List<ReplyOfComment> replies) {
		this.replies = replies;
	}

	public Long getCreatedAt() {
		return createdAt;
	}

	public void setCreatedAt(Long createdAt) {
		this.createdAt = createdAt;
	}

}
